/* We need this because otherwise ng-animate doesn't hide the element */


/* https://github.com/angular/angular.js/issues/8224 */
progress[value] {
  width: 100%;
}

.offline-progress {
  position: absolute;
  width: 500px;
  height: 50px;
  top: 33%;
  left: 50%;
  margin-left: -250px; /* margin is -0.5 * dimension */
  margin-top: -25px;
}

.loader.ng-animate {
  -moz-animation: none 0s;
  -webkit-animation: none 0s;
}

.loader {
  position: absolute;
  left: 50%;
  top: 50%;
  border: 16px solid #f3f3f3;
  /* Light grey */
  border-top: 16px solid #3498db;
  /* Blue */
  border-radius: 50%;
  width: 120px;
  height: 120px;
  -moz-animation: spin 2s linear infinite;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.navbar-brand {
  padding-bottom: 55px;
}

.navbar-brand small {
  display: block;
  font-size: 85%;
}

body {
  padding-bottom: 170px;
}

.affix {
  top: 0;
  width: 20%;
}

.element-table tr:first-child td {
  border: 0 none;
}

.right-box {
  padding-left: 0;
}

.no_bottom {
  margin-bottom: 0;
}

.table>tbody>tr>td, .table>tbody>tr>td>span {
  vertical-align: middle;
}

.icon {
  font-size: 150%;
}

.by-icon {
  line-height: 2.14305;
}

.table_tab {
  text-align: center;
}

.title {
  font-size: 30px;
  font-weight: 500;
  line-height: 33px;
  margin-bottom: 10px;
  margin-top: 20px;
}

.achievealert {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
}

.achieve {
  text-align: center;
}

.achieve h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: bold;
  padding-left: 1em;
  padding-right: 1em;
}

.animif, .animif.ng-enter.ng-enter-active, .animif.ng-leave {
  opacity: 1;
}

.animif.ng-hide, .animif.ng-enter {
  opacity: 0;
}

.animif.ng-hide-add, .animif.ng-hide-remove, .animif.ng-enter {
  -webkit-transition: 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) all;
  -moz-transition: 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) all;
  -ms-transition: 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) all;
  -o-transition: 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) all;
  transition: 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) all;
}

.button-small {
  width: 36px;
  height: 36px;
}


/* Periodic Table */

.element_table {
  display: inline-block;
  text-align: center;
  float: none;
  margin: auto;
  position: relative;
}

.clear {
  clear: both;
}

.fl {
  float: left;
}

.element_row {
  margin: 0;
  height: 50px;
  padding: 4px 0 0 4px;
}

.element {
  position: relative;
  height: 45px;
  width: 45px;
  margin-right: 2px;
}

.element_purchased {
  background-color: #a2d34d;
}

.element_purchased_dark {
  background-color: #458a05;
}

.element_unavailable {
  background-color: #f07049;
}

.element_unavailable_dark {
  background-color: #e72a00;
}

.element_available {
  background-color: #eada24;
}

.element_available_dark {
  background-color: #9d6d00;
}

.element_blank {
  height: 45px;
  width: 45px;
  margin-right: 2px;
}

.element_no {
  height: 15px;
  margin-top: 6px;
  text-align: center;
  font-size: 11px;
  color: white;
}

.element_name {
  text-align: center;
  margin-top: 12px;
  font-size: 18px;
  line-height: 15px;
}

.element_info {
  left: 98px;
  position: absolute;
  top: 49px;
  overflow: hidden;
}

.element_basic {
  margin-top: 5px;
  width: 93px;
  bottom: 2px;
  height: 98px;
  text-align: center;
  padding-top: 36px;
  font-size: 13px;
  line-height: 15px;
}

.element_details {
  margin-top: 5px;
  width: 150px;
  bottom: 2px;
  text-align: left;
  margin-left: 15px;
}

.bottom {
  position: absolute;
  bottom: 0;
}

.element_symbol {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-top: 0;
  margin-bottom: 0;
}

.element_number {
  font-size: 135%;
  margin-right: 30px;
  margin-top: 5px;
  position: absolute;
  right: 0;
}

.element_label {
  font-size: 110%;
  margin-left: 5px;
  margin-top: 5px;
  position: absolute;
}

.symbol_name {
  color: white;
  font-weight: bold;
  text-align: center;
  padding-top: 5px;
  padding-bottom: 5px;
}

.hidden_block.ng-hide {
  display: block!important;
  visibility: hidden;
}

.blank_row {
  height: 20px;
}

.progressbar-font {
  color: black;
  text-align: center;
  position: absolute;
  right: 0;
  left: 0;
}

#sidebar-wrapper .sidebar-nav {
  margin-left: -15px;
  padding-left: 15px;
  width: 230px;
}

#sidebar-wrapper .sidebar-nav li {
  margin-right: 0;
  text-indent: 0;
}

#sidebar-wrapper .sidebar-nav .sidebar-brand {
  text-align: center;
  margin-left: -15px;
}

#sidebar-wrapper .sidebar-icons {
  text-align: right;
}

.nav-tabs li {
  cursor: pointer;
  /* <3 ~B */
}

.serif {
  font-family: "Times new roman", serif;
}
